
typedef int (*mymalloc_fp)(int);

// See the .c file for description of these functions

void initmem(int max_bytes);
int mem_size();

mymalloc_fp to_malloc_implementation(char*name); 
int malloc_bestfit(int bytes);
int malloc_worstfit(int bytes);
int malloc_firstfit(int bytes);
int malloc_nextfit(int bytes);

void myfree(int offset);

int mem_bytes_allocated();
int mem_bytes_free();

int mem_bytes_largest_hole();
int mem_count_holes();
int mem_count_small_holes(int size);
char mem_is_allocated(int offset);

void mem_debug_print_data();
void mem_debug_print_statistics();
